<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
  // 实现Promise.all
  /** 
  * promise 对象的状态改变，pending->rejected/fulfilled;
  * 此时状态固定成为resolved
  */
  const p1 = new Promise((resolve,reject) => {
    resolve("promise1成功");
  })
  const p2 = new Promise((resolve,reject) => {
    resolve("premise2成功");
  })
  // const p3 = Promise.reject("失败");
  Promise.all([p1,p2]).then((result) => {
    console.log(result);
  }).catch((error)=>{
    console.log(error,25);
  })

  
  /**
   * 得到一个新的Promise，该Promise的状态取决于proms的执行
   * proms是一个迭代器，包含多个Promise
   * 全部Promise成功，返回的Promise才成功，数据为所有Primsise成功的数据，并且顺序时按照传入的顺序排列
   * 只要有一个Promise失败，则=返回的Pormise失败，原因是第一个Promise失败的原因
   * @param {iterator} proms
   */
  </script>
</body>
</html>